home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Windows News 2010 Summer - Disc 1
/
WN_Ete2010_CD1.iso
/
Onglet5
/
Weezo
/
Weezo setup.exe
/
{code_appDir}
/
www
/
js
/
mCommon-src.js
< prev
next >
Wrap
Text File
|
2010-05-19
|
8KB
|
267 lines
var D=document, W=window, rdgnl;
var icoLoad="/themes/mobile/loading.gif",icoGo="/themes/mobile/go.gif",iTmp=new Image();iTmp.src=icoLoad;
function dgi(id){return D.getElementById(id)}
function rdgn(elt,obn,t){
var p;
var nb;
for(nb=0;nb<elt.childNodes.length;nb++) {
p=elt.childNodes[nb];
if(p.tagName){
if(t=='name' && p.name==obn) rdgnl[rdgnl.length]=p;
if(t=='tag' && p.tagName==obn) rdgnl[rdgnl.length]=p;
if(p.childNodes.length) rdgn(p,obn,t);
}
}
}
function dgn(obn,n){
// IE Mobile WA
if(!D.getElementsByName) {
rdgnl=new Array();
rdgn(D.body,obn,'name');
if(!rdgnl.length) return;
if(n=='all') return rdgnl;
if(n==undefined || isNaN(n)) n=0;
return rdgnl[n];
}
if(!D.getElementsByName(obn).length) return;
if(n=='all') return D.getElementsByName(obn);
if(n==undefined || isNaN(n)) n=0;
return D.getElementsByName(obn)[n];
}
function dgtn(obtn,tn){
if(((tn)?tn:D).getElementsByTagName) return ((tn)?tn:D).getElementsByTagName(obtn);
rdgnl=new Array();
rdgn((tn)?tn:D,obtn.toUpperCase(),'tag');
return rdgnl;
}
function maskShow(m){}
function maskHide(){}
/************************************************************
* Asynchronous requests
************************************************************/
var mcRIP=0;// 1 if an async request is being processed
var rqAbt=0; // 1 if request is being aborted
var mcRM="GET"; // Method used for async request (GET or POST)
var XHR; // Ze object !
/**
* @desc Async send data to server and process response
* @param d: (string) GET-formated data
* @param URL: (optional string) URL, if not set, use current URL
*/
function sendData(d,URL,fs) {
if(mcRIP&&!fs) return false;
if(!URL) URL=''+D.location;
// Prep d
if(W.resId) d+="&resId="+resId;
d+="&asyncRequest=1";
d=d.replace(/\+/g,"$weezoPlus$");
if(d.substr(0,1)=='&') d=d.substr(1);
XHR=false;
if(dgi("ajaxIFrameForm")) XHR=new XMLHttpScriptRequest();
else if(W.XMLHttpRequest) XHR = new XMLHttpRequest();
else{
try {XHR=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){
try{xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");}
catch (e2){
alert("Ajax not supported")
}
}
}
// Open request
if(mcRM="GET" && d.length<1950) {
if(URL.indexOf('?')!=-1) XHR.open("GET", URL+'&'+d, true); else XHR.open("GET", URL+'?'+d, true);
}
else XHR.open("POST", URL, true);
// Set callback
XHR.onreadystatechange = function() {
if(XHR.readyState==4) try{mcReqResp(XHR);}catch(e){} // Try/catch used as W might have been closed when response returns
return;
}
mcRIP=true;
rqAbt=0;
// Send request
if(mcRM=="POST" || d.length>=1950 || dgi("ajaxIFrameForm")) {
XHR.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XHR.send(d);
}
else XHR.send(null);
return 1;
}
// Cancel request
function cancelSendData(){rqAbt=1; XHR.abort();}
/**
* Handle async request completition
*/
function mcReqResp(xhr){
var gB="";
mcRIP=false;
// Clear timeout monitor timer
if(!xhr) return;
try{xhr.status} catch(e){return;} // FF2 bug WA
// If connection has been aborted with cancelSendData, don't process partial response
if(rqAbt) return;
// If HTTP response status is not OK
if(xhr.status!=200) return false;
if(xhr.responseText.length==0) return;
// Process response
var xmlRoot;
var action;
var content;
if(!xhr.responseXML || (xmlRoot=xhr.responseXML.documentElement)==null){
if(xhr.responseText.length>1000) return alert(xhr.responseText.substring(0,1000)+' ... '+xhr.responseText.substr(xhr.responseText.length-100));
return alert('XML error: '+xhr.responseText);
}
if(W.mcDbg&&mcDbg) alert(xhr.responseText)
// Browse XML response nodes
for(var i=0;i<xmlRoot.childNodes.length;i++) {
n=xmlRoot.childNodes[i];
if(n.nodeType!=1) continue;
if(n.firstChild) content=n.firstChild.nodeValue; else content='';
act=n.nodeName;
// Execute javascript
if(act=="JSAction") eval(content);
// Change node(s) innerHTML
if(act=="innerHTML"){
// Modify node innerHTML by node id
ni=n.getAttribute('nodeId');
if(ni) dgi(ni).innerHTML=((n.getAttribute('add'))?dgi(ni).innerHTML:'')+content;
}
}
}
// Async submit comForm
function asyncSubmit(fs){
var dcf=D.comForm;
data="";
for(var i=1;i<6;i++) if(dcf['data'+i].value.length>0) data+=((i>1)?'&':'')+"data"+i+"="+encodeURIComponent(dcf['data'+i].value);
return sendData(data,dcf.action);
}
function fas(a,b,c,d,e){fillAndSubmit(a,b,c,d,e)}
// Async submit a form
function asyncSubmitForm(formId,fs){
if(!dgi(formId)) return false;
var frm=dgi(formId);
var elt;
data='';
var inp=dgtn("input",frm);
for(var o=0;o<inp.length;o++) {
elt=inp[o];
if(elt.name.length){
if((elt.type!='radio' && elt.type!='checkbox') || elt.checked){
if(data.length>0) data+='&';
data+=elt.name+'='+encodeURIComponent(elt.value);
}
}
}
inp=dgtn("select",frm);
for(var o=0;o<inp.length;o++) {
elt=inp[o];
if(data.length>0) data+='&';
data+=elt.name+'='+encodeURIComponent(elt.value);
}
return sendData(data,frm.action,fs);
}
// Alternative to XMLHttpRequest
function XMLHttpScriptRequest(){this.action=false;}
XMLHttpScriptRequest.prototype.open = function(reqMethod, action){this.action=action;}
XMLHttpScriptRequest.prototype.setRequestHeader = function(){}
XMLHttpScriptRequest.prototype.send = function(data){
dgi("ajaxIFrameForm").action=this.action;
dgn("XMLHttpScriptRequest").value=data+'&XMLHttpScriptRequest='+Math.random();
dgi("ajaxIFrameForm").submit()
return;
}
function asEval(js){eval(js)}; // PSP workaround as parent.eval doesn't work
// Ping server
function ping(r) {sendData('rnd='+Math.random(), '/ping.php', true);if(r) setTimeout('ping('+r+')',r)}
/*********************************************************************************************
* mwl NAMESPACE
*********************************************************************************************/
function mwJSLib(){
this.liSel=function(n){
if(typeof n=='string') n=dgi(n);
if(!n) return;
if(n.tagName=='TR') n.className='liSel';
if(n.tagName=='TD') n.parentNode.className='liSel';
if(n.className=='sli') n.className='sliSel';
if(n.className=='frame2') n.className='frame2Sel';
if(n.className=='bt') n.className='btSel';
try{n.childNodes[2].childNodes[0].src=icoLoad} catch(e){}
// activate prev page auto unselect (usefull when coming back from a video)
if(!this.liMonI) this.liMonI=setInterval('mwl.liMon()',400);
}
this.liUnsel=function(n){
if(typeof n=='string') n=dgi(n);
if(n.tagName=='TR') n.className='li';
if(n.tagName=='TD') n.parentNode.className='li';
if(n.className=='sliSel') n.className='sli';
if(n.className=='frame2Sel') n.className='frame2';
if(n.className=='btSel') n.className='bt';
try{n.childNodes[2].childNodes[0].src=icoGo} catch(e){}
}
this.liUnselAll=function(){
var e,el=D.getElementsByTagName('TR');
for(e in el) if(el[e] && el[e].className=='liSel') mwl.liUnsel(el[e]);
}
this.liBlink=function (n){
if(!n) return;
mwl.liSel(n);
if(!n.id) n.id='B'+Math.random();
setTimeout('mwl.liUnsel("'+n.id+'")',500);
}
this.liMonTS=(new Date()).getTime();
this.liMon=function(){
var p=mwl.liMonTS;
mwl.liMonTS=(new Date()).getTime();
if(mwl.liMonTS-p>2000) mwl.liUnselAll();
}
this.liGrSel=function(n){
elts=document.getElementsByTagName(n.tagName);
nn=n.getAttribute("name")
for(i=0;i<elts.length;i++) {
elt=elts[i];
try{
en=elt.getAttribute("name")
if(en==nn){
if(elt==n) this.liSel(n); else this.liUnsel(elt);
}
}
catch(e){}
}
}
this.toMenu=function(){D.location='/index.php';}
this.TCHide=function(){dgi('winBar').style.display='none'}
this.TCShow=function(){dgi('winBar').style.display=''}
this.TCToggle=function(){with(dgi('winBar').style) {display=(display=='')?'none':''}}
}
var mwl=new mwJSLib();
function us(nn){if(dgi(nn)) mwl.liUnsel(dgi(nn))}